#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "Motor.h"
#include "Key.h"

int8_t Speed;
uint8_t KeyNum;

int main()
{
	OLED_Init();
	Motor_Init();
	Key_Init();
	OLED_ShowString(1,1,"Speed:+00000");
	while(1)
	{
		KeyNum = key_GetNum();
		if(KeyNum == 1)//
		{
			Speed+=20;
			if(Speed>80)
			{
				Speed=0;//Speed=-80;//此操作会让电机旋转方向突然改变，可能会因供电不足而导致单片机复位
									//(这里甚至不能以最大速度持续运行，所以这里用两个开关进行转速单向加减)
									//若出现了此现象，则应避免使用这样的操作
			}
			Motor_SetSpeed(Speed);
			OLED_ShowSignedNum(1,7,Speed,5);
		}
		if(KeyNum == 2)
		{
			Speed-=20;
			if(Speed<-80)
			{
				Speed=0;//Speed=80;//供电不足，不能直接变最大反转速度（甚至不能以最大速度持续运行）

			}
			Motor_SetSpeed(Speed);
			OLED_ShowSignedNum(1,7,Speed,5);
		}
	}
}

